﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;


namespace Assessment.Management.Utils
{
    public class ConfigUtils
    {

        public static string GetConfig(string key)
        {
            string value = ConfigurationManager.AppSettings.Get(key);
            if (string.IsNullOrWhiteSpace(value))
                throw new ConfigurationErrorsException("Chưa config: " + key);

            return value;
        }

        public static string GetConnectionString(string key)
        {
            string value = ConfigurationManager.ConnectionStrings[key].ConnectionString;
            if (string.IsNullOrWhiteSpace(value))
                throw new ConfigurationErrorsException("Chưa config ConnectionString: " + key);
            return value;
        }
        //Format: YCMMyyAAAA : YC: prefix Yêu cầu, MMyy - Tháng năm, AAAA - số tự động tăng theo tháng: YC02140001
        public string NextIDHaveDate(string prefixID, string lastID)
        {
            int defaultValue = 1;//Mac dinh bat dau tu 1
            string today = DateTime.Now.ToString("MMyy");
            if (lastID != "" && today == lastID.Substring(2, 4)) //Neu lastID co gia tri va thang = thang hien tai -> + them 1
                defaultValue = int.Parse(lastID.Substring(6, 4)) + 1;

            return string.Format("{0}{1}{2}", prefixID, today, defaultValue.ToString("0000"));
        }

        //Format: MHxxx => MH001, MH002,..
        public string NextSubjectID(string prefixID, string lastID)
        {
            if (lastID == "")
            {
                return prefixID + "001";
            }
            else
            {
                int nextID = int.Parse(lastID.Replace(prefixID, "")) + 1;
                string b = nextID.ToString("000");
                return prefixID + b;
            }
        }
       
       
    }
}
